﻿using System;
using System.Collections.Generic;
using Meqs.Entity;
using Meqs.Entity.Parameters;

namespace Meqs.Logic.Interface
{
    public interface IMoralitySubmitRecordLogic : ICommonLogic<MoralitySubmitRecord, int>
    {
        /// <summary>
        /// 获取德育评价提交记录
        /// </summary>
        /// <param name="clsID"></param>
        /// <param name="reportType"></param>
        /// <param name="year"></param>
        /// <param name="month"></param>
        /// <param name="schoolYear"></param>
        /// <param name="term"></param>
        /// <param name="schoolMark"></param>
        /// <returns></returns>
        MoralitySubmitRecord GetRecordByCls(int clsID, int reportType, int year, int month,int day, int? schoolYear, int? term,
                                            string schoolMark);

        /// <summary>
        /// 保存记录
        /// </summary>
        /// <param name="list"></param>
        /// <param name="clsID"></param>
        /// <param name="reportType"></param>
        /// <param name="year"></param>
        /// <param name="month"></param>
        /// <param name="schoolYear"></param>
        /// <param name="term"></param>
        /// <param name="teacherID"></param>
        /// <param name="schoolMark"></param>
        /// <returns></returns>
        bool SaveOrUpdateRecord(IList<Items> list, int clsID, int reportType, int year, int month,int day, int? schoolYear, int? term,
                                            int teacherID, string schoolMark);

        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="moralitySubmitRecord"></param>
        /// <param name="schoolMark"></param>
        /// <returns></returns>
        int InsertMoralitySubmitRecord(MoralitySubmitRecord moralitySubmitRecord, string schoolMark);

        /// <summary>
        /// 清空记录
        /// </summary>
        /// <param name="recordID"></param>
        /// <param name="schoolMark"></param>
        /// <returns></returns>
        int DeleteAllRecord(int recordID, string schoolMark);

        bool SaveOrUpdateRecordEx(int[] stuid, double[] scores, int clsID, int reportType, int year, int month, int day, int? schoolYear, int? term, int teacherID, string schoolMark);
    }
}